知道字串是什麼之後,你可能實際使用上會碰到以下幾種狀況
為什麼我想要把檔案路徑放進字串裡卻一直報錯??像這樣
或者是
好像遇到某幾個英文字我就無法呈現我想要的結果,會亂跑耶!
鏘鏘!因為你,遇到Escape Character啦!!!!!
跳脫字元是字元的一種特殊情況,也標示著跳脫序列開始的那個字元。編寫程式語言時,可能因為技術等種種原因,無法直接在程式碼中寫出所要的字元,這時候就需要跳脫字元協助!
跳脫序列有兩種功能,一種是表示裝置命令或者無法被字母表直接表示的特殊資料。另一種,用於表示無法在目前上下文中被鍵盤表示的字元(如字串中的Enter符號、想要表達換行時...等)。
每種語言的跳脫字元不同,URL以「%」作為特殊字元,C、C++、JAVA、C#以反斜線「\」作為跳脫字元,在字串裡具有特殊意義。常見的跳脫字元(逸出字元)如下:
說多不多,說少不少,總之就是告訴你,遇到\的時候就要有警覺了!
,可能會出現不在預期內的狀況!
以下有兩種方法可以使用
string ai = "C:\Users\user\Desktop\鐵人賽";//會報錯
string ai = "C:\\Users\\user\\Desktop\\鐵人賽";//OK了!
用這個方法就是跟電腦說,欸!我\後面就是我要表達的,你不要誤會喔!
但是萬一內容一多,就會\滿天飛了!於是C#有一個更簡潔的寫法!
string ai = "C:\Users\user\Desktop\鐵人賽";//會報錯
string ai = @"C:\Users\user\Desktop\鐵人賽";//加個@輕輕鬆鬆
現在我遇到路徑、讀寫外部字串資料、讀寫html的tag都會習慣先判斷要不要加上@,避免錯誤哈哈
另外補充一個小知識,跳脫字元的字元長度怎麼計算呢?
以最常見的\r\n為例。實際輸出它的長度會發現:
不是4!!!是2!!!! \ 是不納入計算的喔~
以上跟大家分享~那下一章我們就要進入C#的運算囉!
wikipedia-跳脫字元
MSDN-在規則運算式中執行字元逸出